home *** CD-ROM | disk | FTP | other *** search
- /*
- File: SamplePart.h
-
- Contains: Sample part editor class implementation
-
- Written by: Steve Smith
-
- Copyright: © 1995 by Apple Computer, Inc., all rights reserved.
- */
-
- #ifndef _SAMPLEPART_
- #define _SAMPLEPART_
-
- // -- Compiler/Preprocessor Switches --
-
- #ifndef _COMPILERDEFS_
- #include "CompDefs.h"
- #endif
-
- // -- OpenDoc Includes --
-
- #ifndef _ODTYPES_
- #include <ODTypes.h>
- #endif
-
- // -- Macintosh Includes --
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
-
- // -- Forward Declarations --
-
- class ODFacet;
- class ODFocusSet;
- class ODFrame;
- class ODMenuBar;
- class ODShape;
- class ODStorageUnit;
- class ODWindow;
- class CList;
-
- struct WindowProperties;
-
-
- //ForTSMTE
- #ifndef __tsmUtl__
- #include "tsmUtl.h"
- #endif
-
- #pragma import on
-
- class SamplePart {
-
- //==================================
- // Overridden Public ODPart Methods
- //==================================
- public:
-
- SamplePart();
- virtual ~SamplePart();
-
- // -- Initialization --
-
- void InitPart(Environment* ev, ODStorageUnit* storageUnit,
- ODPart* partWrapper);
- void InitPartFromStorage(Environment* ev, ODStorageUnit* storageUnit,
- ODPart* partWrapper);
-
- // -- Storage --
-
- void Release(Environment* ev);
- void ReleaseAll(Environment* ev);
- ODSize Purge(Environment* ev, ODSize size);
- void Externalize(Environment* ev);
- void ExternalizeKinds(Environment* ev, ODTypeList* kindset);
- void ChangeKind(Environment* ev, ODType kind);
- void CloneInto(Environment* ev, ODDraftKey key,
- ODStorageUnit* destinationSU,
- ODFrame* initiatingFrame);
- void WritePartInfo(Environment* ev, ODInfoType partInfo,
- ODStorageUnitView* storageUnitView);
- ODInfoType ReadPartInfo(Environment* ev, ODFrame* frame,
- ODStorageUnitView* storageUnitView);
- void ClonePartInfo(Environment *ev, ODDraftKey key, ODInfoType partInfo,
- ODStorageUnitView* storageUnitView,
- ODFrame* scopeFrame);
-
- // -- Layout --
-
- void DisplayFrameAdded(Environment* ev, ODFrame* frame);
- void DisplayFrameRemoved(Environment* ev, ODFrame* frame);
- void DisplayFrameClosed(Environment* ev, ODFrame* frame);
- void DisplayFrameConnected(Environment* ev, ODFrame* frame);
- void AttachSourceFrame(Environment* ev, ODFrame* frame,
- ODFrame* sourceFrame);
- void ViewTypeChanged(Environment* ev, ODFrame* frame);
- void FrameShapeChanged(Environment* ev, ODFrame* frame);
- ODID Open(Environment* ev, ODFrame* frame);
-
- // -- Imaging --
-
- void Draw(Environment* ev, ODFacet* facet, ODShape* invalidShape);
- void GeometryChanged(Environment* ev, ODFacet* facet,
- ODBoolean clipShapeChanged,
- ODBoolean externalTransformChanged);
- void HighlightChanged(Environment* ev, ODFacet* facet);
- void FacetAdded(Environment* ev, ODFacet* facet);
- void FacetRemoved(Environment* ev, ODFacet* facet);
-
- // -- Activation --
-
- ODBoolean BeginRelinquishFocus(Environment* ev, ODTypeToken focus,
- ODFrame* ownerFrame,
- ODFrame* proposedFrame);
- void CommitRelinquishFocus(Environment* ev, ODTypeToken focus,
- ODFrame* ownerFrame,
- ODFrame* proposedFrame);
- void AbortRelinquishFocus(Environment* ev, ODTypeToken focus,
- ODFrame* ownerFrame,
- ODFrame* proposedFrame);
- void FocusAcquired(Environment* ev,ODTypeToken focus,
- ODFrame* ownerFrame);
- void FocusLost(Environment* ev,ODTypeToken focus,
- ODFrame* ownerFrame);
-
- // -- Event Handling --
-
- ODBoolean HandleEvent(Environment* ev, ODEventData* event,
- ODFrame* frame, ODFacet* facet,
- ODEventInfo* eventInfo);
- void AdjustMenus(Environment* ev, ODFrame* frame);
-
-
- //===================================
- // Newly Introduced Internal Methods
- //===================================
- protected:
-
- // -- Initialization --
-
- void Initialize(Environment* ev);
-
- // -- Storage --
-
- void CheckAndAddProperties(Environment* ev,
- ODStorageUnit* storageUnit);
- void CleanseContentProperty(Environment* ev,
- ODStorageUnit* storageUnit);
- void InternalizeStateInfo(Environment* ev,
- ODStorageUnit* storageUnit);
- void InternalizeContent(Environment* ev,
- ODStorageUnit* storageUnit);
- void ExternalizeStateInfo(Environment* ev,
- ODStorageUnit* storageUnit,
- ODDraftKey key, ODFrame* scopeFrame);
- void ExternalizeContent(Environment* ev, ODStorageUnit* storageUnit,
- ODDraftKey key, ODFrame* scopeFrame);
- void SetDirty(Environment* ev);
-
- // -- Event Handling --
-
- ODBoolean HandleMenuEvent(Environment* ev, ODEventData* event,
- ODFrame* frame);
- ODBoolean HandleMouseEvent(Environment* ev, ODEventData* event,
- ODFacet* facet, ODEventInfo* eventInfo);
- //ForTSMTE
- // void DoMouseEvent(Environment* ev, ODFacet* facet, Point* where);
- void DoMouseEvent(Environment* ev, ODFacet* facet, Point* where, ODEventData* event);
- void DoDialogBox(Environment* ev, ODFrame* frame,
- ODSShort dialogID, ODUShort errorNumber = 0);
-
- // -- Imaging --
-
- void DrawFrameView(Environment* ev, ODFacet* facet);
- void DrawIconView(Environment* ev, ODFacet* facet);
- void DrawThumbnailView(Environment* ev, ODFacet* facet);
- PicHandle GenerateThumbnail( Environment* ev, ODFrame* frame);
-
- // -- Activation --
-
- void PartActivated(Environment* ev, ODFrame* frame);
- ODBoolean ActivateFrame(Environment* ev, ODFrame* frame);
- void WindowActivating(Environment* ev, ODFrame* frame,
- ODBoolean activating);
- void RelinquishAllFoci(Environment* ev, ODFrame* frame);
-
- // -- Layout --
-
- ODWindow* AcquireFramesWindow(Environment* ev, ODFrame* frame);
- ODWindow* CreateWindow(Environment* ev, ODFrame* frame, ODType frameType,
- WindowProperties* windowProperties);
- void CleanupWindow(Environment* ev, ODFrame* frame);
- WindowProperties* GetDefaultWindowProperties(Environment* ev, ODFrame* frame,
- Rect* windowRect);
- WindowProperties* GetSavedWindowProperties(Environment* ev, ODFrame* frame);
- Rect CalcPartWindowSize(Environment* ev, ODFrame* sourceFrame);
- Rect CalcPartWindowPosition(Environment* ev, ODFrame* frame,
- Rect* partWindowBounds);
- ODFacet* GetActiveFacetForFrame(Environment* ev, ODFrame* frame);
- ODShape* CalcNewUsedShape(Environment* ev, ODFrame* frame);
- void UpdateFrame(Environment* ev, ODFrame* frame, ODTypeToken view,
- ODShape* usedShape);
- void CleanupDisplayFrame(Environment* ev, ODFrame* frame,
- ODBoolean frameRemoved);
- void ZoomPartWindow(Environment* ev, ODFrame* frame, ODWindow* window,
- ODBoolean openingWindow);
-
-
- //========================
- private:
-
- CList* fDisplayFrames;
- ODBoolean fDirty;
- ODPart* fSelf;
- ODBoolean fReadOnlyStorage;
-
- ODBoolean fGlobalsInited;
-
- //ForTSMTE
- tsmUtlRec fTERec;
- };
-
- #pragma import off
-
- #endif